/**
 * 
 */
package com.douyu.ocean.recom.platform.api.model.entiry;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Table;

import org.springframework.data.annotation.Id;

/**
 * 推荐业务，唯一,推荐位置和推荐逻辑的组合，其中推荐逻辑中需要指定推荐算法（推荐结果源数据）
 * 
 * 新建一个业务，那么就是位置+规则+算法结果数据源的组合，
 * 
 * @author leiruiqi
 *
 */
@Table
public class RecomBiz {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	
	@Column
	private String name;
	
	@Column
	private String memo;
	
	/**
	 * 推荐业务的code，对应全局唯一的业务
	 */
	@Column
	private String code;
	
	/**
	 * 位置编码
	 */
	@Column
	private Long posId;
	
	/**
	 * 规则编码
	 */
	@Column
	private Long ruleId;
	
	/**
	 * 算法资源配置，多个逗号分隔
	 */
	@Column
	private String sourceStr;
	
	/**
	 * 分流表达式
	 */
	@Column
	private String bypassExpression;
	
	@Column
	private String paramsStr;
	
	@Column
	private Integer status;
	
	@Column
	private Date createTime;
	
	@Column
	private Date updateTime;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Long getPosId() {
		return posId;
	}

	public void setPosId(Long posId) {
		this.posId = posId;
	}

	public Long getRuleId() {
		return ruleId;
	}

	public void setRuleId(Long ruleId) {
		this.ruleId = ruleId;
	}

	public String getSourceStr() {
		return sourceStr;
	}

	public void setSourceStr(String sourceStr) {
		this.sourceStr = sourceStr;
	}

	public String getBypassExpression() {
		return bypassExpression;
	}

	public void setBypassExpression(String bypassExpression) {
		this.bypassExpression = bypassExpression;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getParamsStr() {
		return paramsStr;
	}

	public void setParamsStr(String paramsStr) {
		this.paramsStr = paramsStr;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}
	
	
}
